Wystapil blad i program zostanie zamkniety...

0

Trzybobry!

Stawiam bardzo pierwsze kroki w C++ (zawsze bylo Delphi). Krew mnie zalewa, bo ponizszy kod daje komunikat pod XP taki, jaki w temacie (kompiluje sie bez bledow). Uzywam Dev-C++ 4. Kod jest banalny, ale podobny kod z kursu (kopiuj/wklej) tez daje taki efekt. Czemu?
[code]
#include "iostream.h"
#include "stdlib.h"
#include "stdio.h"

int main()
{
char *imie;
printf("Podaj imie: ");
scanf("%s",&imie);
printf("Twoje imie to:%s\n",imie);
system("PAUSE");
return 0;
}
[/code]

Kiedy imie jest char, int, itp..., a w scanf i printf daje cokolwiek tylko nie %s to kod dziala...

Czemu?

Windows XP, SP1, Dev-C++ 4.

Dzieki!

DOPISANE

Juz sobie poradzilem :-P :). Ale dzieki za pomoc.

I to dziala. Wystarczylo zalaczyc string i uzyc cin i cout.

Mam jeszcze pytanie: Czemu, gdy zalaczam w taki sposob #include "string.h" to kod wywala bledy, a kiedy (...) string (bez .h!!) to dziala...

0

Witam!

Proponuje zamiast char *imie wpisac char imie[100].
W ten sosób zarezerwujesz trochę miejsca w pamięci na przechowywanie imienia.
A najlepiej to robić coś takiego (chyba) :
[code]
char *imie = new char[100];
if ( imie ){
// tu kod
delete[] imie;
};[/code]

0

Nadszedły w końcu takie czasy, że w C++ przy dolączaniu plikow naglowkowych pisze sie standardowo bez ".h".

Jeśli chcesz pisać ".h" musisz dodac przed nazwą naglowka literke c, np.:

#include "string"
lub
#include "cstring.h"

//Jak pisać nawiasy trojkatne ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1