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 ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!