Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Ende des Programms

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ] [ 5 ]
000
13.09.2006, 22:05 Uhr
xychrisyx



hi, ich habe folgendes problem:

habe neu mit c++ angefangen unter eclipse!

compiler etc. scheinen korrekt eingestellt zu sein, habe nun ein kleines projekt erstellt, welches 2 zahlen teilt.

das problem is jetzt wenn ich die main.exe ausführe öffnet sich ja das "dos"-fenster. nachdem ich die zu teilende zahl, den teiler und die anzahl der nachkommastellen eingegeben habe müsste eigentlich noch das ergebnis zu sehen sein??? jedoch schließt sich das fenster direkt nach der eingabe der "anzahl der nachkommastellen"!

wie lässt sich das beheben ?

--------
hier mal der quelltext:


C++:
#include <stdio.h>
#include <stdlib.h>

main()
    {
        int z;
        int n;
        int a;
        int x;
        
        printf( "Zu teilende Zahl");
        scanf( "%d", &z);
        printf ( "Teiler");
        scanf ( "%d", &n);
        printf ( " Anzahl der Nachkommastellen");
        scanf ( "%d", &a);
        x = z/n;
        
        printf ( " Ergebnis = %d.", x);
        
        for( ; a > 0; a = a -1)
            {
                z = 10*(z - n*x);
                if ( z == 0)
                break;
                x = z/n;
                printf( "%d", x);
            }
        printf ("\n");
    }




Bearbeitung:

Code-Tags selbst benutzen!!!


Dieser Post wurde am 13.09.2006 um 22:15 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.09.2006, 22:09 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von xychrisyx:

wie lässt sich das beheben ?



FAQ lesen? Suche benutzen?
www.fun-soft.de/showtopic.php?threadid=6479

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.09.2006, 22:14 Uhr
Karldin Shinowa
Professional Noob


Eine der Fragen die immer wieder gestellt wird.....
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.09.2006, 22:31 Uhr
xychrisyx



ööööhm... und wo genau bzw. wie genau baue ich dies nun in den quellcode ein ????

wie gesagt, anfänger ---> erster test
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.09.2006, 00:29 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


lies einfach am Ende noch irgend eine sinnlose variable ein dann "wartet" dein programm so lange...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.09.2006, 08:31 Uhr
KFC Embryo
Ein Huhn


Hi,

probiers mal mit return EXIT_SUCCESS am Ende ungefähr so:


C++:

#include <stdio.h>
#include <stdlib.h>

main()
    {
        int z;
        int n;
        int a;
        int x;
        
        printf( "Zu teilende Zahl ");
        scanf( "%d", &z);
        printf ( "Teiler ");
        scanf ( "%d", &n);
        printf ( "Anzahl der Nachkommastellen ");
        scanf ( "%d", &a);
        x = z/n;
        
        printf ( "Ergebnis = %d.", x);
        
        for( ; a > 0; a = a -1)
            {
                z = 10*(z - n*x);
                if ( z == 0)
                break;
                x = z/n;
                printf( "%d", x);
            }
        printf ("\n");
        return EXIT_SUCCESS;
       }






--
An nescis, mi fili, quantilla prudentia mundus regatur?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.09.2006, 08:51 Uhr
(un)wissender
Niveauwart


Was soll das bringen, KFC Embryo?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
14.09.2006, 08:52 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)



Zitat von xychrisyx:
habe neu mit c++ angefangen unter eclipse!

Na ja, du hast nicht mit C++ angefangen sodern mit C. Und das womöglich noch ohne es zu merken

Mit C++ müsstest du mit iostream statt mit stdio.h, cout anstatt mit printf und cin anstelle von scanf arbeiten.

Aber das sind ja nur Kleinigkeiten ...
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
14.09.2006, 09:06 Uhr
KFC Embryo
Ein Huhn



Zitat:

müsste eigentlich noch das ergebnis zu sehen sein???





Er zeigt das Ergebnis, zumindestens bei mir.

Wieso was stimmt nicht?
--
An nescis, mi fili, quantilla prudentia mundus regatur?

Dieser Post wurde am 14.09.2006 um 09:08 Uhr von KFC Embryo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
14.09.2006, 09:13 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Zum einen stimmt es nicht, weil du EXIT_SUCCESS zurückgibst und main nicht sagst, das ein int zurückkommt und zum anderen löst es das Problem nicht.
Mach einfach mal ein getchar(); ans Ende (vor return EXIT_SUCCESS). Und wenn du C++ schreiben willst, das les auch ein Tutorial oder ein Buch, von dem der Author auch weiß, wo der Unterschied zwischen C und C++ liegt !

Hans hat da bestimmt einen Vorschlag für dich

EDIT: Mir fällt gerade auf: Vorher hat er konsequent C geschrieben und (wahrscheinlich mit Ausnahme vom Compiler) mit C++ überhaupt nichts am Hut gehabt. EXIT_SUCCESS ist allerdings eine Konstante, die es in C nicht gibt, sondern nur in C++. Wenn du return EXIT_SUCCESS; schreibst, vermischst du beide Sprachen. Schreibe lieber return 0; ans Ende und lass das EXIT_SUCCESS weg. Dann hast du ein C Programm

Und hier ist mal die C++ Variante:


C++:
#include <iostream>
#include <cstdio>

int main(const int argc, const char* argv[])
{
    int z,n,a;
    float x;
    std::cout << "Zu teilende Zahl: ";
    std::cin >> z;
    std::cout << "Teiler: ";
    std::cin >> n;
    std::cout << "Angezeigte Stellen: ";
    std::cin >> a;
    x = (float)z/n;
    std::cout.precision( a );
    std::cout << "Ergebniss: " << x << std::endl;
    
    std::cin.clear(); //Eingabepuffer leeren, sonst geht getchar nicht
    std::cin.sync();

    getchar();
    return EXIT_SUCCESS;
}

--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

Dieser Post wurde am 14.09.2006 um 09:55 Uhr von J-jayz-Z editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ] [ 5 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: