witam dostałem takie polecenie, mianowicie: wczytaj imię i nazwisko , następnie użytkownik podaje literkę do skasowania i usunięcia literki z imienia i nazwiska. nie wiem kompletnie jak się do tego zabrać, a może służy tutaj jakieś specjalne polecenie?
narazie mam taki kod:
#include
#include
using namespace std;
int main()
{ int i,y;
char im[10];
char nazw[20];
cout<<"Podaj ile literek nosi twoje imie: ";
cin>>i;
cout<<"Podaj ile literek nosi twoje nazwisko: ";
cin>>y;
cout<<"Podaj imie: ";
cin>>im[i];
cout<<"Podaj nazwisko: ";
cin>>nazw[y];
system("PAUSE");
}
Czemu pytasz użytkownika o liczbę liter w imieniu i nazwisku? Przecież to jest niepotrzebne.
Czemu chcesz zapisać ciąg znaków do jednej komórki tablicy?
I w programowaniu nie ma poleceń.
Dobrze zacząłeś - od tablic do przechowywania imienia i nazwiska.
Następny krok to wczytanie do nich imienia i nazwiska od użytkownika. Tylko zrób to dobrze, bo jak na razie, to przekombinowałeś
Potem pewno trzeba będzie pobrać literkę do usunięcia.
Następnie można np. przepisać tablice do innej tablicy z pominięciem niechcianej litery (tu będzie potrzebna pętla). Dla wygody proponowałbym to zrobić w oddzielnej funkcji.
Rzeczywiście nie o to chodziło. Znowu robisz te same błędy - wpisujesz ciąg znaków do zmiennej typu char (jeden znak). I gratulacje pomysłu z tym “im-c”
Może coś takiego, ale nie znam za bardzo C++
#include
#include
#include
using namespace std;
int main() {
string im, naz;
char c;
cout<<"Podaj imie: ";
cin>>im;
cout<<"Podaj nazwisko: ";
cin>>nazw;
cout<<"Ktora literke usunac z imienia? :";
cin>>c;
int i;
string im2 = '';
string naz2 = '';
for (i=0;i<=strlen(im);++i) if (im[i] != c) {im2 += im[i];};
for (i=0;i<=strlen(naz);++i) if (naz[i] != c) {naz2 += naz[i];};
cout << "im2 naz2";
getch();
}