Microsoft application error report při spuštění – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Microsoft application error report při spuštění – C / C++ – Fórum – Programujte.comMicrosoft application error report při spuštění – C / C++ – Fórum – Programujte.com

 

Kolcek
~ Anonymní uživatel
19 příspěvků
4. 12. 2008   #1
-
0
-

Dobrý den,
zkusil jsem nsapat program podle návodu uveřejněného zde na serveru(c++ lekce 4). Vše fungovalo bez potíží, než jsem přidal příkazy na vypsání jména pozpátku. Nevim, v čem je chyba. Tuto část kódu jsem zkoušel i okopírovat z úkolů, ale pořád to nepomáhá. V čem může být chyba?

#include <iostream>

#include <cstring>
#include "csznaky.h"
using namespace std;

int main()
{
int a;
int y;
int z=80;
int vysledek;
int cisla[5];
char jmeno[y];
cout << "V"<<ii<<"tejte v "<<uu<<"kolu pro lekci 4\n";
for(y=z;y>=0,y--;)
cout<<"*";
cout << "\nVa" << ss << "e jm" << ee << "no pros" << ii << "m: ";
cin >> jmeno;
int vek;
for(y=z;y>=0,y--;) cout<<"*";
cout << "\nV" << aa << ss << " v" << _e << "k pros" << ii << "m: ";
cin >> vek;
int i;
for(y=z;y>=0,y--;) cout<<"*";
cout << "Zadejte pros" << ii << "m p" << _e << "t " << cc << ii << "slic: \n";
for(i=0; i<5; i++)
{
cout << i+1 << ". "<<cc<<ii<<"slice: ";
cin >> cisla[i];
}
cout <<"Sou"<<cc<<"et zadan"<<yy<<"ch "<<cc<<ii<<"sel je: ";
cout <<cisla[0]<<"+"<<cisla[1]<<"+"<<cisla[2]<<"+"<<cisla[3]<<"+"<<cisla[4]<<" = ";
vysledek=cisla[0]+cisla[1]+cisla[2]+cisla[3]+cisla[4];
cout<<vysledek;
cout<<endl;
for(y=z;y>=0,y--;) cout<<"*";
cout << "\nVa" <<ss<<"e jm"<<ee<<"no pozp"<<aa<<"tku je: \n";
for(i=strlen(jmeno);i>=0;i--) //příkazy na vypsání jména pozpátku
{
cout<<jmeno[i];
}
cout<<endl;
cin.get();
cin.get();
return 0;
}

Omlouvám se za případnou nepřehlednost kódu.

Nahlásit jako SPAM
IP: 88.102.197.–
Bald3rr0
Super člen
4. 12. 2008   #2
-
0
-

char jmeno[y];

Dynamické pole takto alokovat nemůžeš, musíš použít operátor new nebo malloc.

Nahlásit jako SPAM
IP: 82.100.0.–
MaS0
Návštěvník
4. 12. 2008   #3
-
0
-

u toho char jmeno[y] by stačilo napsat určitý počet př. char jmeno[255]

funkce strlen() vrací délku řetězce, takže když máš např. pěti prvkové pole char a v něm tři znaky, použiješ strlen()-ta vrátí 3, pak napíšeš cout<<pole[3], tak to vytiskne 4.prvek pole, kde nic není.....takže pokud to tam není schválně, tak to oprav

Nahlásit jako SPAM
IP: 195.146.114.–
Kolcek
~ Anonymní uživatel
19 příspěvků
5. 12. 2008   #4
-
0
-

Mockrát děkuju. Program již funguje.

Nahlásit jako SPAM
IP: 88.102.197.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý