Anonymní profil labuzník – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil labuzník – Programujte.comAnonymní profil labuzník – Programujte.com

 

Příspěvky odeslané z IP adresy 176.74.128.–

labuzník
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172877

Jasně! Máš pravdu, omlouvám se za moji blbost. Moc děkuji, vyřešeno, funguje!

labuzník
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172874

   

int _tmain(int argc, _TCHAR* argv[])
{
	char start[1];
	do
	{
	double x_re, x_im, y_re, y_im, r_re=0,r_im=0;
	char oper[1],znam='+',znamm='+',znammm='+';
	int i;
	printf("\n1st operand\nInsert real part: ");
	scanf("%Lf", &x_re);
	printf("Insert imag. part: ");
	scanf("%Lf", &x_im);
	printf("\n2st operand\nInsert real part: ");
	scanf("%Lf", &y_re);
	printf("Insert imag. part: ");
	scanf("%Lf", &y_im);
	printf("\nInsert operator: ");
	scanf("%s", oper);
	switch (oper[0]) 
	{
	case '+':
    kmplx_secteni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
	case '-':
    kmplx_odecteni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
	case '/':
    kmplx_deleni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
	case '*':
    kmplx_nasobeni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
	}
	if (x_im>0)
		znam='-';
	if (y_im>0)
		znam='-';
	if (r_im>0)
		znam='-';
	printf("\n(%f %c j%f) %s (%f %c j%f) = %f %c j%f", x_re, znam, fabs(x_im), oper, y_re, znamm, fabs(y_im),r_re,znammm, fabs(r_im));
	printf("\nIf you want to close program, insert y, if no, insert other character: ");
	scanf("%s", start);
	} while(start[0]!='n');
}
labuzník
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172873

Tak to už jsem vyřešil měl jsem špatně napsané scanf("%s", oper[0]);  --> scanf("%s", oper);

Teď to po stisku n, pro ukončení aplikace hodí hlášku "Run-Time Check Failure #2 - Stack around the variable 'oper' was corrupted."

labuzník
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172872

Když to udělám takhle, tak mi to zas háže chybu, když chci načíst ten operator "The variable 'oper' is being used without being initialized."

labuzník
C / C++ › Chybové hlášky skrz scanf
16. 3. 2013   #172868

Čau kluci, už několik hodin se tu snažím dojít na to, proč mi neustále konečné scanf háže chybu a nikdy neukončí program. Háže to plno chyb, teď momentálně "Unhandled exception at 0x0fa814cf (msvcr100d.dll) in cpp_6.exe: 0xC0000005: Access violation reading location 0x0000006e." Zkoušel jsem různě měnit %s za %c a akorát to háže jinou chybu.. Fakt už si nevím rady

Kód zde


#include "stdafx.h"
#include "Debug\complexmath.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>


int _tmain(int argc, _TCHAR* argv[])
{
char start= '\0';
do
{
double x_re, x_im, y_re, y_im, r_re=0,r_im=0;
char oper='\0',znam='+',znamm='+',znammm='+';
int i;
printf("\n1st operand\nInsert real part: ");
scanf("%Lf", &x_re);
printf("Insert imag. part: ");
scanf("%Lf", &x_im);
printf("\n2st operand\nInsert real part: ");
scanf("%Lf", &y_re);
printf("Insert imag. part: ");
scanf("%Lf", &y_im);
printf("\nInsert operator: ");
scanf("%s", &oper);

switch (oper)
{
case '+':
    kmplx_secteni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
case '-':
    kmplx_odecteni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
case '/':
    kmplx_deleni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
case '*':
    kmplx_nasobeni(&r_re, &r_im, x_re, x_im, y_re, y_im);
    break;
}
if (x_im>0)
  znam='-';
if (y_im>0)
  znam='-';
if (r_im>0)
  znam='-';
printf("\n(%f %c j%f) %c (%f %c j%f) = %f %c j%f", x_re, znam, fabs(x_im), oper, y_re, znamm, fabs(y_im),r_re,znammm, fabs(r_im));
printf("\nIf you want to close program, insert y, if no, insert other character: ");
scanf("%s", &start);
printf("%s", start);
} while(start !='n');
}

 

 

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