Potrebna pomoc :D

crack024

Početnik
Poruka
15
Radim projekat za skolu :D i imam manjih problema,pa da cujem kako bi vi to resili :D Hvala!

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
main()
{
int a,b,l,p,i,t;
char pasvord[10];
char pasvorda[]="ogi";
char logina[]="admin";
char loging[]="gost";
char login [10];
struct knjiga{
char ime[15];
char pisac[25];
int br;
};
knjiga knjiga[50];
FILE *dat;
dat=fopen("Stanje.txt","w");
printf("Dobro dosli!\n");
printf("Ovo je program za administraciju biblioteka!\n");
printf("Autorska prava na ovaj program imaju Domke,Mare,Dovla i Ogi!!!\n");
printf("Kako zelite da se ulogujete?(admin/gost):");
scanf("%s",&login);
l=strcmp(login,loging);
a=strcmp(login,logina);
if(a==0 && l!=0)
{
printf("Unesite sifru admina:");
scanf("%s",&pasvord);
b=strcmp(pasvord,pasvorda);
}
if(a==0 && b==0)
{
printf("Uspesno ste se ulogovali kao admin!\n");
printf("Izaberite sta zelite da radite(izaberite broj ispred opcije): \n1.Unos knjiga \n2.Promena passworda \n3.Stanje\n");
scanf("%d",&p);
if(p==1)
{
printf("Koliko knjiga zelite da unesete?");
scanf("%d",&t);
for(i=0;i<t;i++){
printf("Unesite ime knjige");
gets(knjiga.ime);
fprintf(dat,"%s\n",knjiga.ime);
printf("Unesite ime pisca");
gets(knjiga.pisac);
fprintf(dat,"%s\n",knjiga.pisac);
printf("Unesite br strana");
scanf("%d",&knjiga.br);
fprintf(dat,"%d\n",knjiga.br);
}
fclose(dat);
}


}
else if(l!=0)
{
printf("Odbijen vam je pristup!");
}
if(l==0)
{
printf("Ulogovali ste se kao gost!");
}
getch();
return 0;
}


Osmislio sam ceo program u glavi i sve ide super :D ovo je samo deo! ali imam problem kod FOR petlje .. odnosno sa onim ispod..Sa GETS-om .. kada je STRING jedna rec sve radi super .. ali kada je STRING 2 reci pocme da se gubi nesto gadno.. probao sam da resim i sa scanf-om ali isto tako ako je jedna rec sve super ako vise.. ne radi .. recimo ime knjige Na Drini Cuprija [enter] i on odmah otkuca Ime autoraBroj strana :D

Hvala!
 
Radim projekat za skolu :D i imam manjih problema,pa da cujem kako bi vi to resili :D Hvala!

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
main()
{
int a,b,l,p,i,t;
char pasvord[10];
char pasvorda[]="ogi";
char logina[]="admin";
char loging[]="gost";
char login [10];
struct knjiga{
char ime[15];
char pisac[25];
int br;
};
knjiga knjiga[50];
FILE *dat;
dat=fopen("Stanje.txt","w");
printf("Dobro dosli!\n");
printf("Ovo je program za administraciju biblioteka!\n");
printf("Autorska prava na ovaj program imaju Domke,Mare,Dovla i Ogi!!!\n");
printf("Kako zelite da se ulogujete?(admin/gost):");
scanf("%s",&login);
l=strcmp(login,loging);
a=strcmp(login,logina);
if(a==0 && l!=0)
{
printf("Unesite sifru admina:");
scanf("%s",&pasvord);
b=strcmp(pasvord,pasvorda);
}
if(a==0 && b==0)
{
printf("Uspesno ste se ulogovali kao admin!\n");
printf("Izaberite sta zelite da radite(izaberite broj ispred opcije): \n1.Unos knjiga \n2.Promena passworda \n3.Stanje\n");
scanf("%d",&p);
if(p==1)
{
printf("Koliko knjiga zelite da unesete?");
scanf("%d",&t);
for(i=0;i<t;i++){
printf("Unesite ime knjige");
gets(knjiga.ime);
fprintf(dat,"%s\n",knjiga.ime);
printf("Unesite ime pisca");
gets(knjiga.pisac);
fprintf(dat,"%s\n",knjiga.pisac);
printf("Unesite br strana");
scanf("%d",&knjiga.br);
fprintf(dat,"%d\n",knjiga.br);
}
fclose(dat);
}


}
else if(l!=0)
{
printf("Odbijen vam je pristup!");
}
if(l==0)
{
printf("Ulogovali ste se kao gost!");
}
getch();
return 0;
}


Osmislio sam ceo program u glavi i sve ide super :D ovo je samo deo! ali imam problem kod FOR petlje .. odnosno sa onim ispod..Sa GETS-om .. kada je STRING jedna rec sve radi super .. ali kada je STRING 2 reci pocme da se gubi nesto gadno.. probao sam da resim i sa scanf-om ali isto tako ako je jedna rec sve super ako vise.. ne radi .. recimo ime knjige Na Drini Cuprija [enter] i on odmah otkuca Ime autoraBroj strana :D

Hvala!

a sql :lol:
 
Problem je u tastaturnom bufferu :)
Kada uneses neku vrednost preko scanf-a, ostane onaj enter, njega moras da pokupis sa funkcijom getchar(), inace ce automatski taj enter preneti u gets funkciju :)
Znaci ovo radi:
Kod:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
main()
{
int a,b,l,p,i,t;
char pasvord[10];
char pasvorda[]="ogi";
char logina[]="admin";
char loging[]="gost";
char login [10];
struct knjiga{
char ime[15];
char pisac[25];
int br;
};
knjiga knjiga[50];
FILE *dat;
dat=fopen("Stanje.txt","w");
printf("Dobro dosli!\n");
printf("Ovo je program za administraciju biblioteka!\n");
printf("Autorska prava na ovaj program imaju Domke,Mare,Dovla i Ogi!!!\n");
printf("Kako zelite da se ulogujete?(admin/gost):");
scanf("%s",&login);
getchar();
l=strcmp(login,loging);
a=strcmp(login,logina);
if(a==0 && l!=0)
{
printf("Unesite sifru admina:");
scanf("%s",&pasvord);
b=strcmp(pasvord,pasvorda);
}
if(a==0 && b==0)
{
printf("Uspesno ste se ulogovali kao admin!\n");
printf("Izaberite sta zelite da radite(izaberite broj ispred opcije): \n1.Unos knjiga \n2.Promena passworda \n3.Stanje\n");
scanf("%d",&p);
if(p==1)
{
printf("Koliko knjiga zelite da unesete?");
scanf("%d",&t);
getchar();
for(i=0;i<t;i++){
printf("Unesite ime knjige");
gets(knjiga[i].ime);
fprintf(dat,"%s\n",knjiga[i].ime);
printf("Unesite ime pisca");
gets(knjiga[i].pisac);
fprintf(dat,"%s\n",knjiga[i].pisac);
printf("Unesite br strana");
scanf("%d",&knjiga[i].br);
getchar();
fprintf(dat,"%d\n",knjiga[i].br);
}
fclose(dat);
}


}
else if(l!=0)
{
printf("Odbijen vam je pristup!");
}
if(l==0)
{
printf("Ulogovali ste se kao gost!");
}
getch();
return 0;
}
 

Back
Top