R
r3dBuLL213
Neues Mitglied
- Dabei seit
- 20.10.2007
- Beiträge
- 2
- Reaktionspunkte
- 0
Hi,
Ich bin schon am Verzweifeln weil ich nicht mehr weiter weiss... kann mir jmd helfen das Programm zu kompilieren? Ich weiss einfach nicht wo die Fehler liegen.... danke schon mal
Ich bin schon am Verzweifeln weil ich nicht mehr weiter weiss... kann mir jmd helfen das Programm zu kompilieren? Ich weiss einfach nicht wo die Fehler liegen.... danke schon mal
Code:
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#define MAX 8
// max. Vor- und Nachkommabits
// max. duale Wortlänge: 2*MAX
double split(double z)// liefert die Nachkommastellen von z
{
double v, n;
v = modf(z, &n);
// n enthaelt die Vorkommastellen,
// hier nicht benoetigt.
return v;
}//Ende der Split-Funktion
double EingabeBasis()
{
int Basis;
printf("\nZahl konvertieren in:\n 1.Dual\n 2.Oktal\n 3.Hexa");
Basis=getch();
switch(Basis)
{
case '1':printf("\n[Sie haben Dual gewaehlt!]\n"); Basis=2; break;
case '2':printf("\n[Sie haben Oktal gewaehlt!]\n");Basis=8; break;
case '3':printf("\n[Sie haben Hexa gewaehlt!]\n"); Basis=16;break;
default: abort();
}
return Basis;
}//Ende eingabeBasis;
double EingabeZahl()
{
double Zahl;
printf("\nGeben Sie nun die Zahl ein, die konvertiert werden soll: ");
scanf("%lf",&Zahl);
printf("\nDie Zahl %lf wird jetzt konvertiert!\n",(double)Zahl);
return Zahl;
}//Ende Eingabe Zahl;
void RestVor(double z, int zVor, int b, int ergVor[])
{
zVor=z;
int i=7;
do{//Potenzwertmethode
ergVor[i]=zVor/pow(b,i);
zVor=zVor-ergVor[i]*pow(b,i);
printf("%X",ergVor[i]);
i--;
}while(i>=0);
}//Ende_Rest_Vor
void RestNach(double z,int ergNach[],double zNach, int b)
{
int i=0;
zNach=split(z);
printf(".");
do{//Restwertmethode
ergNach[i]=zNach*b;
zNach=zNach*b;
zNach=zNach-ergNach[i];
if(i==7)break;
printf("%X",ergNach[i]);
;
i++;
}while(i!=8);
}//EndeRestNach
void Ausgabe()
{
;
}
// HAUPTFUNKTION -----------------------
int main() {
// DEKLARATIONEN -----------------------
double z,zNach;
// zu konvertierende Eingabezahl
int ergVor[MAX]={0}, ergNach[MAX]={0};
// Vor- und Nachkommast.v.Ergebnis
// a0 in ergVor[0],
// a1 in ergVor[1], etc.
int n, m;// Anz.Vor- und Nachkommastellen
int b;// Basis des Zielsystems
int zVor;
//--------------------------------
char c;
//PROGRAMMABLAUF-------------------------
printf("PA01 - ZAHLENKONVERTIERUNG\n--------------------------------------------\n");
do
{
b=EingabeBasis();
z=EingabeZahl();
printf("\n----------------------------------------------------\n");
printf(" \nKonvertierte Zahl: ");
RestVor(z,zVor,b,ergVor);
RestNach(z,ergNach,zNach,b);
printf("\n\nWeiter? (J/N): ");
c = _getche();
} while (toupper(c)=='J');
printf("\n");
return 0;
}