Witam, chciałbym się doradzić co do dwóch zadań.
1. Program polega na tym, że odwraca i przepisuje od tyłu słowo/zdanie, który wpiszemy. Chciałbym jednak, żeby również duże litery zamieniały się na małe i na odwrót. Wiem, że tutaj trzeba zastosować toupper oraz tolower, ale coś mi nie wychodzi.
Kod:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string wyraz;
cout << "Podaj wyraz: ";
getline(cin, wyraz);
int dlugosc = wyraz.length();
for (int i=dlugosc-1; i>=0; i--)
{
//cout << tolower(wyraz[i]);
cout << (wyraz[i]);
}
return 0;
}
2.Napisz prosty program do przetwarzania danych uczniów w szkole. W tym celu stwórz strukturę uczen, która zawierać będzie pola: imię, nazwisko, klasa (np. „3c”), oceny semestralne dla maks. 20 przedmiotów (dla uproszczenia przyjmijmy, że przedmioty identyfikujemy po numerze, a nie po nazwie). Następnie napisz trzy funkcje pracujące na tej strukturze:
a) funkcję do wprowadzania danych osobowych nowego ucznia (funkcja ma przyjąć, imię, nazwisko, klasę i zwrócić strukturę danych ucznia);
b) funkcje do wprowadzania oceny z przedmiotu o zadanym numerze dla danego ucznia (funkcja ma przyjąć referencję do danych ucznia, ocenę i numer przedmiotu);
c) funkcję do liczenia średniej ocen dla wskazanego ucznia (funkcja ma przyjąć referencję do danych ucznia i zwrócić średnią jego ocen).
Pierwszą część tego zadania chyba wykonałem poprawnie, ale nie wiem co dokładnie dalej zrobić tutaj. Również prosiłbym o pomoc przy tym.
Kod:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
struct uczen
{
char imie[20];
char nazwisko[40];
char klasa[2];
int ocenyprzedmioty[20];
};
struct uczen wprowadzanie_nowego_ucznia(char* imie,char* nazwisko,char* klasa) //przyjmuje dane ucznia do przygotowania danych osobwych
{
uczen temp;
strcpy(temp.imie,imie);
strcpy(temp.nazwisko,nazwisko);
strcpy(temp.klasa,klasa);
return temp;
}
int main()
{
uczen klasa[10];
uczen wprowadzanie_nowego_ucznia;
return 0;
}