int main(void) { char string[] = "Testowy TEKST 123."; char string2[] = "Testowy TEKST 123."; char string3[] = "Testowy TEKST 123."; printf("Podczatkowy tekst: %s\n\n", string); przetwarzaj(string, toupper); printf("Male na duze: %s\n", string); przetwarzaj(string2, tolower); printf("Duze na male: %s\n", string2); przetwarzaj(string3, spacjeNaMyslniki); printf("Spacje na myslniki: %s\n", string3); return 0; }
int main () { char char_pobierane[ROZMIAR]; /* Do tej tablicy dane pobierane sa ze stdin */ int int_pobierane; /* Do tej zmiennej przepisywane sa liczby z char_pobierane przy pomocy funkcji atoi */ char operat=0; /* Pojawienie sie operatora funkcyjnego [+ - * / # % q ?] zostaje przypisane do zmiennej operat */ int indeks=1; /* i dla for petli for, indeks dla while(operator!=q) () */ int ilosc=0; /* Ilosc liczb na stosie */ t_elem *stos=NULL; /* zainiciowanie stosu */ int pomoc3=0; /* Zmienna która bede potrzebowala do sprawdzenia czy podany znak przez uzytnownika jest cyfra czy znakiem */ printf("\nKalkulator RPN mozliwe opcje \n"); printf("q=Koniec pracy z programem\n"); printf("#-usuwanie ostatnio dodanego elementu\n"); printf("$-zamiana miejscami 2 elementów na szczycie\n"); printf("&-zduplikowanie ostatniego wprowadzonego elementu\n"); printf("?- Wyswietla elementy stosu\n"); while(operat != 'q') { printf("\nNo. %d:\t", indeks); scanf("%s", char_pobierane); /* Jezeli zostala wprowadzona liczba to ten switch zamieni ja na int i wpisze do zmiennej int_pobierane */ switch(char_pobierane[0]) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': int_pobierane=atoi(char_pobierane); ilosc++; pomoc3++; push(&stos, int_pobierane); break; case '-': /* Uwzglednienie liczb ujemnych */ switch(char_pobierane[1]) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': int_pobierane=atoi(char_pobierane); ilosc++; pomoc3++; push(&stos, int_pobierane); break; default: break; } break; /* break do case '-' */ default: break;/* Niepotrzebny default,.. ale moze jakis blad wpadnie po drodze, ktory tym defaultem bedzie mozna wyeliminowac */ } if(pomoc3==0) /* Znaczy, ze char_pobierane nie jest liczba */ { operat = char_pobierane[0]; switch(operat) { case '+': case '-': case '*': case '/': case '$': if(ilosc>=2) przetwarzaj(&stos, operat,ilosc); else printf("\n\n\t\tZa malo liczb na stosie"); break; case '#': if(ilosc>1) przetwarzaj(&stos, operat,ilosc); else printf("\n\n\t\tZa malo liczb na stosie, Nie mozna usunac jedynego elementu"); break; case '&': if(ilosc>=1) przetwarzaj(&stos, operat,ilosc); else printf("\n\n\t\tZa malo liczb na stosie"); break; case '?': print(&stos); case 'q': break; default: printf("\n\n\t\tBrak takiego polecenia"); } /* Koniec switcha */ } /* Koniec operacji dla operata roznego od cyfry */ pomoc3=0; indeks++; } /* Koniec while(operator != 'q') */ }