Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Elektrotehnika, struktura

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Elektrotehnika, struktura

[ Pregleda: 2779 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pelle07

Član broj: 224379
Poruke: 43
79.101.250.*



+9 Profil

icon [Zadatak] Elektrotehnika, struktura02.06.2009. u 20:23 - pre 146 meseci
imam problem oko ovog zadatka,i bio bih vam veoma zahvalan ako bi mogli da mi pomognete...
Ovo je moj pokusaj...
Zadatak vam je dat dole...
Code:

#include <stdio.h>
#include <string.h>
typedef struct{char naziv_velicine[20],oznaka[2],jedinica[10],formula[5];}elektrotehnika;

 void zamena (char a[20],char b[20])
 {
 char temp[20];
 strcpy(temp,a);
 strcpy(a,b);
 strcpy(b,temp);
 }

main()
{
FILE *pok,*pok2,*pok3;
int i=0,opcija,sortiranje,j=1;
char kraj=' ',pretraga[20];
elektrotehnika velicina[200];
pok2=fopen("sortirano.txt","w");
pok3=fopen("resenja.txt","w");
do
{
printf("unesi naziv velicine\n");
scanf("%s",&velicina[i].naziv_velicine);
printf("unesi oznaku te velicine\n");
scanf("%s",&velicina[i].oznaka);
printf("unesi jedinicu te oznake\n");
scanf("%s",&velicina[i].jedinica);
printf("unesi formulu po kojoj se izracunava ta velicina\n");
scanf("%s",&velicina[i].formula);
pok=fopen("pomoc.txt","a");
fprintf(pok,"%s\t%s\t%s\t%s\t\n",velicina[i].naziv_velicine,velicina[i].oznaka,velicina[i].jedinica,velicina[i].formula);
getchar();
printf("kraj d/n");
scanf("%c",&kraj); 
}
while(kraj!='d');
printf("unesi opciju\n");
printf("1. Spisak formula\n");
printf("2. Pronadji formulu\n");
printf("3. Izlaz\n");
scanf("%d",&opcija);
switch(opcija)
{
case 1:             {          
                    printf("unesi kriterijum\n");
                    printf("1. naziv\n");
                    printf("2. oznaka\n");
                    printf("3. jedinica\n");
                    scanf("%d",&sortiranje);
                    switch(sortiranje)
                    {
                    case 1: 
                    {
                    while(fscanf(pok,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula)!=EOF)
                    {
                    if(velicina[j].naziv_velicine<=velicina[i].naziv_velicine)
                    {
                    i++;
                    j++;
                    }
                    else
                    {
                    zamena(velicina[i].naziv_velicine,velicina[j].naziv_velicine);
                    zamena(velicina[i].oznaka,velicina[j].oznaka);
                    zamena(velicina[i].jedinica,velicina[j].jedinica);
                    zamena(velicina[i].formula,velicina[j].formula);
                    }
                    fprintf(pok2,"%s\t%s\t%s\t%s\t\n",velicina[i].naziv_velicine,velicina[i].oznaka,velicina[i].jedinica,velicina[i].formula);
                    fprintf(pok2,"%s\t%s\t%s\t%s\t\n",velicina[j].naziv_velicine,velicina[j].oznaka,velicina[j].jedinica,velicina[j].formula);
                    }
                    }
                    break;

                    case 2:
                    {
                    while(fscanf(pok,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula)!=EOF)
                    {
                    if(velicina[j].oznaka<=velicina[i].oznaka)
                    {
                    i++;
                    j++;
                    }
                    else
                    {
                    zamena(velicina[i].naziv_velicine,velicina[j].naziv_velicine);
                    zamena(velicina[i].oznaka,velicina[j].oznaka);
                    zamena(velicina[i].jedinica,velicina[j].jedinica);
                    zamena(velicina[i].formula,velicina[j].formula);
                    } 
                    fprintf(pok2,"%s\t%s\t%s\t%s\t\n",velicina[i].naziv_velicine,velicina[i].oznaka,velicina[i].jedinica,velicina[i].formula);
                    fprintf(pok2,"%s\t%s\t%s\t%s\t\n",velicina[j].naziv_velicine,velicina[j].oznaka,velicina[j].jedinica,velicina[j].formula);
                    }
                    }
                    break;

                    case 3: 
                    {
                     while(fscanf(pok,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula)!=EOF)
                     {
                     if(velicina[j].jedinica<=velicina[i].jedinica)
                     {
                     i++;
                     j++;
                     }
                     else
                     {
                     zamena(velicina[i].naziv_velicine,velicina[j].naziv_velicine);
                     zamena(velicina[i].oznaka,velicina[j].oznaka);
                     zamena(velicina[i].jedinica,velicina[j].jedinica);
                     zamena(velicina[i].formula,velicina[j].formula);
                     }
                     fprintf(pok2,"%s\t%s\t%s\t%s\t\n",velicina[i].naziv_velicine,velicina[i].oznaka,velicina[i].jedinica,velicina[i].formula);
                     fprintf(pok2,"%s\t%s\t%s\t%s\t\n",velicina[j].naziv_velicine,velicina[j].oznaka,velicina[j].jedinica,velicina[j].formula);
                     }
                     }
                     break;

                     default:printf("pogresno\n");
                     }
                     break;
                     }
case 2:  {          
                    printf("unesi kriterijum\n");
                    printf("1. naziv\n");
                    printf("2. oznaka\n");
                    printf("3. jedinica\n");
                    scanf("%d",&sortiranje);
                    switch(sortiranje)
                    {
                    case 1: 
                    {
                     while(fscanf(pok,"%s",&velicina[i].naziv_velicine)!=EOF)
                     {
                     printf("unesi naziv koji trazis");
                     scanf("%s",&pretraga);
                     if(strcmp(fscanf(pok,"%s",&velicina[i].naziv_velicine),pretraga)==1)
                     {
                     fscanf(pok,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula);
                     fprintf(pok3,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula);
                     break;
                     }
                     else
                     i++;
                     }
                     }
                    break;
                    
                    case 2: 
                    {
                     while(fscanf(pok,"%s",&velicina[i].naziv_velicine)!=EOF)
                     {
                     printf("unesi oznaku koju trazis");
                     scanf("%s",&pretraga);
                     if(strcmp(fscanf(pok,"%s",&velicina[i].oznaka),pretraga)==1)
                     {
                     fscanf(pok,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula);
                     fprintf(pok3,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula);
                     break;
                     }
                     else
                     i++;
                     }
                     }
                    
                    break;
                    
                    case 3:
                    {
                     while(fscanf(pok,"%s",&velicina[i].naziv_velicine)!=EOF)
                     {
                     printf("unesi jedinicu koju trazis");
                     scanf("%s",&pretraga);
                     if(strcmp(fscanf(pok,"%s",&velicina[i].jedinica),pretraga)==1)
                     {
                     fscanf(pok,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula);
                     fprintf(pok3,"%s%s%s%s",&velicina[i].naziv_velicine,&velicina[i].oznaka,&velicina[i].jedinica,&velicina[i].formula);
                     break;
                     }
                     else
                     i++;
                     }
                     }
                    
                    break;
                    default:printf("pogresno\n");break;
                    }
case 3:exit(1);break;
default:printf("pogresno\n");
}
      system("PAUSE");
}
}



[Ovu poruku je menjao pelle07 dana 02.06.2009. u 21:34 GMT+1]

[Ovu poruku je menjao X Files dana 03.06.2009. u 07:17 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

Wajda.W
Vladimir Vajda
Zrenjanin

Član broj: 127039
Poruke: 323
79.101.148.*



+101 Profil

icon Re: [Zadatak] Elektrotehnika, struktura05.06.2009. u 18:40 - pre 146 meseci
A sta se trazi od zadatka, sta ti ne ide?, daj malo vise informacija...
 
Odgovor na temu

Struja01
Beograd

Član broj: 166347
Poruke: 190



Profil

icon Re: [Zadatak] Elektrotehnika, struktura06.06.2009. u 00:45 - pre 146 meseci
Iskompajlirao sam ti code, imas par upozorenja (warings) probaj da eliminises ta upozorenja.
Sigurno bi ti vise pomogli kada bi znali sta je cilj zadatka!?
 
Odgovor na temu

pelle07

Član broj: 224379
Poruke: 43
93.87.143.*



+9 Profil

icon Re: [Zadatak] Elektrotehnika, struktura06.06.2009. u 13:11 - pre 146 meseci
Pa cilj je da se u opciji 1 podaci iz jedne datoteke sortiraju(po nazivu npr...) i da se zatim upisu u drugu datoteku...A u opciji 2 da se izvrsi pretraga...a ispod koda je zadatak sa primerom kako bi to trebalo da izgleda,ako vam nesto znaci...
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Elektrotehnika, struktura

[ Pregleda: 2779 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.