Další semestrálka v C – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Další semestrálka v C – C / C++ – Fórum – Programujte.comDalší semestrálka v C – C / C++ – Fórum – Programujte.com

 

Valik0
Duch
1. 1. 2018   #1
-
0
-

Zdravím všechny programovací nadšence.

Jsem prvním rokem na vysoké škole a už zprvu jsem sem šel s tím, že programování v C s utrpením odchodím a udělám, abych měl po zbytek svého oboru klid od IT, jelikož nejsem úplně zapálený IT programátor a proto se obracím a vás.

Nějaký základ kodu mám, který mi předběžně můj profesor ohodnotil. Zde: 

#include <stdio.h>
#include "struktura.h"

int main(int argc, char **argv)
{
  {   //uvod
    printf("                                           Vitejte v evidenci.\n");
    printf("                                 Postupne zadavejte informace jak jsou uvedeny.\n");
    printf("                                          Nyni stisknete enter.\n");
    getch();
    }
    //nadefinovani souboru
    FILE *soubor;
    
        { 
    //otevreni souboru a zapis do nej
        soubor=fopen("soubor.txt", "w");
        if(soubor == NULL){
        printf("Soubor nelze vytvořit.");
            }
    //zadani produktu, ktere chceme zaevidovat
        printf("Zadejte pocet produktu:");
        scanf("%d", &a);
           
        
        }
    //vytvoreni iterace pro tyto produkty
        for (b = 0; b < a; b++)
        {
    //zadavani vlastnosti produktu
        printf("Nazev: \n");
        scanf("%s",         &produkt[b].nazev);
        
        printf("Kod: \n");
        scanf("%d",         &produkt[b].kod);
        
        printf("Mnozstvi: \n");
        scanf("%d",         &produkt[b].mnozstvi);
        
        printf("Cena: \n");
        scanf("%d",         &produkt[b].cena);
       
        }
    //zapis do souboru pomoci tabulky
    fprintf(soubor,"                       :::::  Evidence ::::: \n");
    fprintf(soubor,"..................................................................\n");
    fprintf(soubor,"CISLO |    JMENO           |   KOD   |  MNOZSTVI |  CENA      | \n");
    fprintf(soubor,"..................................................................\n");
    for (b = 0; b < a; b++)
    fprintf(soubor,"%d           %s                 %d         %d          %d      \n",b+1,produkt[b].nazev, produkt[b].kod, produkt[b].mnozstvi, produkt[b].cena);
    fprintf(soubor,"..................................................................\n");
    //jednoducha tabulka pro vypis v programu
    printf("                       :::::  Evidence ::::: \n");
    printf("..................................................................\n");
    printf("CISLO |    JMENO           |   KOD   |  MNOZSTVI |  CENA      | \n");
    printf("..................................................................\n");
    //iterace pro vypis zadanych produktu
    for (b = 0; b < a; b++)
    //konecny vypis nami zadanych produktu
    printf("%d           %s                 %d         %d          %d      \n",b+1, produkt[b].nazev, produkt[b].kod, produkt[b].mnozstvi, produkt[b].cena);
    printf("..................................................................\n");
    //uzavreni souboru
    fclose(soubor);
    //vraceni hodnoty
    return 0; 
       }

A zde hlavičkový soubor : 

#include <stdlib.h>

 //struktury a jejich deklarace s promennyma
   struct vlasnosti
    {
        char nazev[20];
        int cena;
        int kod;
        int mnozstvi;
        
    }UDAJE; 
  //vnorena struktura
     struct vlasnosti produkt[50];
    int a, b;

A zde je ohodnocení:

Procedurální návrh - není ani jedna uživatelská funkce
Modulárnost – projekt sice obrahuje hlavičkový soubor, ale to neznamená, že obsahuje modul 
Pro práci s daty program smysluplně NEVYUŽÍVÁTE  lineární spojový seznam a nad ním funkce pro vložení, smazání, změnu a vyhledání prvku seznamu.
Práce se souborem -  ukládáte data do souboru a to je vše

V zásadě stačí, abych splnil první dvě podmínky, s kterými si nevím rady jak zakomponovat do mého programu. Za každou vlídnou radu předem děkuji.

Přeju příjemný den. :) 

Nahlásit jako SPAM
IP: 2a02:768:4206:3696:8873:8...–
gna
~ Anonymní uživatel
1849 příspěvků
2. 1. 2018   #2
-
0
-

Spojový seznam znamená, že prvky jsou navzájem propojené. V C typicky tak, že struktura obsahuje ukazatel na další prvek stejného typu. Takže seznam bude prakticky jen první položka a na další se dostaneš přes ten ukazatel v ní.

Udělej samostatně ty funkce pro vložení, smazání, změnu a vyhledání prvku seznamu a hoď je do samostatného souboru. Z mainu je pak volej podle volby z menu.

Zápis do souboru udělej jednodušší ať to pak jde i snadno načíst a přidej i to načtení. Zase podle volby z menu.

Tím bys měl splnit všechno. Kdyby ses zasekl, tak se klidně ptej dál.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Semestrálka — založil Tutanchamon

Funkce a další — založil Daniczech

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý