Răspuns :
Greseli :
1. Functia se numeste strupr nu struwr.
2. strupr primeste ca parametru un sir de caractere si nu returneaza nimic (adica e de tip void) . In cazul de fata atribuirea s1= strupr() este gresita.
3. strchr() primeste doi parametrii ,si anume:primul este un sir de caractere si al doilea este un caracter. (deci in cazul tu al doilea parametru nu e corect).
4. Daca totusi ai fi vrut sa folosestio functie mai convenabila ar fi fost strpbrk() , care oricum iti returneaza un pointer , deci nici asa nu e convenabil.
Iti las mai jos o varianta corecta a programelului:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[20] ,v[6]="aeiou";
unsigned int i;
cin.get(s,20);
for(i=0;i<strlen(s);i++) //parcurgem toate caracterele
if(strchr(v,s[i])) //daca este vocala
s[i]= s[i]-32; // convertim din litera in mica in litera mare
// se putea folosi si functia toupper()
cout<<s;
return 0;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile v-au fost de ajutor. Dacă aveți întrebări suplimentare sau aveți nevoie de asistență, nu ezitați să ne contactați. Revenirea dumneavoastră ne-ar onora, așa că nu uitați să ne adăugați la favorite!