Salut, am o problema, nu stiu de ce atunci cand rulez acest program imi executa de doua ori bucla, de exemplu introduc caracteru A si imi afiseaza : am atasat un jpg. eu vreau doar sa imi inregistreze doar litera mare...nu stiu de unde imi apare "s-a citit un alt caracter".
Daca puteti sa ma ajutati, va multimesc mult.
/*1. Se citeste câte un caracter, pâna la întâlnirea caracterului @.
Pentru fiecare caracter citit, sa se afiseze un mesaj care sa indice daca s-a citit
o litera mare, o litera mica, o cifra sau un alt caracter.
Sa se afiseze câte litere mari au fost introduse, câte litere mici, câte cifre si câte alte caractere.
Se prezinte trei modalitati de implementare (cu instructiunea while, cu instructiunea for si cu instructiunea do-while).
*/
#include<stdio.h>
#include<conio.h>
int main ()
{
char a; //declar variabila
int i=0,j=0,k=0,l=0; //declar constantele
printf("na="); //afiseaza a=
scanf("%c",&a); //citeste de la tastatura caracterul a
while(a!=64) //cat timp a este diferit de caracterul @
{
if(a>=65 && a<=90) //conditie
{
printf("nS-a citit o litera maren"); // afiseaza mesajul
i++; //se incrementeaza i
}
if(a>=97 && a<=122) //conditie
{
printf("S-a citit o litera mican"); //mesaj
j++; //se incrementeaza j
}
if(a>=48 && a<=57) //conditia
{
printf("S-a citit o cifran"); //afiseaza mesajul
k++; //se incrementeaza k
}
if((a>57 && a<64) || (a>90 && a<97) || a>122 || a<48) //celelalte caractere
{
printf("nS-a citit un alt carectern"); //afiseaza mesajul
l++;
} //incrementeaza l++
printf("i=%dn",i); //afiseaza contorii
printf("j=%dn",j); //afiseaza contorii
printf("k=%dn",k); //afiseaza contorii
printf("l=%dn",l);
printf("na="); //afiseaza a=
scanf("%c",&a); //citeste de la tastatura caracterul a
}
getch();
}