Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50850, Antworten: 1390
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26624, Antworten: 4194
Gehe zum ersten neuen Beitrag Windows Oberfläche (Schrift,...
Aufrufe: 177, Antworten: 10
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 65, Antworten: 5
Gehe zum ersten neuen Beitrag TabCtrl
Aufrufe: 122, Antworten: 12
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 94, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 18, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 50, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 14, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 26, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29.04.2006, 15:02   #1 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 04.01.2006
Beiträge: 10
Standard Hilfe bei Fehlersuche

Moin.
Habe hier ein Programm das mir Kopfschmerzen macht.
Ich finde den Fehler nicht.
Das Problem wenn ich weiter Tage haben will und ich die Werte eintragen will gibt es Ärger.

Brauche Hilfe Bitte!!
Code:
/**Bibliotheken******************************/

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

/**Define´s**********************************/

# define MAX_TEMP 3

/**Funktion main.c***************************/

int main(int argc, char *argv[]){

	double *Luftdruck;
	double **Temperatur;
	int Tage, zusatz;
	char Zeichen;
	int i,u,o = 0;
	double mittel_Temp = 0;
	double mittel_LD = 0;

	printf("Wieviele Tage einlesen: ");
	scanf("%i",&Tage);
	fflush(stdin);

/**Speicherreservierung**********************/

	Luftdruck = (double*)malloc(Tage * sizeof(double));
	if (Luftdruck == NULL){
		printf("ERROR. Kein Speicher fuer Luftdruck\n");
		exit(1);
	}
	Temperatur = (double**)malloc(Tage * sizeof(double*));
	if (Temperatur == NULL){
			printf("ERROR. Kein Speicher fuer Temperatur Tage\n");
			exit(1);
	}
	for(i = 0;i <= Tage; i++){
		Temperatur[i] = (double*)malloc(MAX_TEMP * sizeof(double));
		if (Temperatur[i] == NULL){
			printf("ERROR. Kein Speicher fuer Temperatur Werte\n");
			exit(1);
		}
	}

/**Werte Eingeben****************************/

	for(i = 0; i <= Tage-1; i++){
		printf("Tag %i\n",i+1);
		for(u = 0; u <= 2; u++){
			printf("Temperatur %i: ",u+1);
			scanf("%lf",&Temperatur[i][u]);
			fflush(stdin);
		}
		printf("Luftdruck: ");
		scanf("%lf",&Luftdruck[i]);
		fflush(stdin);
	}

/**Durchschnittsberechnungen*****************/

	printf("Druchschnittswert des Luftdrucks: ");
	for(i = 0; i <= Tage-1; i++){
		mittel_LD += Luftdruck[i];
	}
	mittel_LD = mittel_LD / Tage;
	printf("%lf\n",mittel_LD);

	printf("Durchschnittswert der Temperatur: ");
	for(i = 0; i <= Tage-1; i++){
		for(u = 0; u < 3; u++){
			mittel_Temp += Temperatur[i][u];
		}
	}
	mittel_Temp = mittel_Temp / (Tage * 3);
	printf("%lf\n",mittel_Temp);

/**Schleife für Wiederholungen****************/
	while(o == 0){
		printf("Neue Tage [J/N]: ");
		Zeichen = getc(stdin);

		if((Zeichen == 'J')||(Zeichen == 'j')){
			printf("Wieviel Tage zusätzlich: ");
			scanf("%i",&zusatz);
			fflush(stdin);


			Luftdruck = (double*)realloc(Luftdruck,_msize(Luftdruck)+zusatz * sizeof(double));
			if (Luftdruck == NULL){
				printf("ERROR. Kein Speicher fuer Luftdruck\n");
				exit(1);
			}
			Temperatur = (double**)realloc(Temperatur,_msize(Temperatur)+zusatz * sizeof(double*));
			if (Temperatur == NULL){
				printf("ERROR. Kein Speicher fuer Temperatur Tage\n");
				exit(1);
			}
			for(i = Tage ;i < (Tage + zusatz); i++){
				Temperatur[i] = (double*)realloc(Temperatur,_msize(Temperatur)+MAX_TEMP * sizeof(double));
				if (Temperatur[i] == NULL){
					printf("ERROR. Kein Speicher fuer Temperatur Werte\n");
					exit(1);
				}
			}
			for(i = Tage  ; i < (Tage + zusatz); i++){
				printf("Tage %i: \n",i+1);
				for(u = 0; u <= 2; u++){
					printf("Temperatur %i: ",Tage+1);
					scanf("%lf",&Temperatur[i][u]);
					fflush(stdin);
				}
				printf("Luftdruck: ");
				scanf("%lf",&Luftdruck[i]);
				fflush(stdin);
			}
			Tage += zusatz;

			mittel_LD = 0;
			mittel_Temp = 0;


			printf("Druchschnittswert des Luftdrucks: ");
			for(i = 0; i <= Tage-1; i++){
				mittel_LD += Luftdruck[i];
			}
			mittel_LD = mittel_LD /Tage;
			printf("%lf\n",mittel_LD);

			printf("Durchschnittswert der Temperatur: ");
			for(i = 0; i <= Tage-1; i++){
				for(u = 0; u < 3; u++){
					mittel_Temp += Temperatur[i][u];
				}
			}
			mittel_Temp = mittel_Temp / (Tage * 3);
			printf("%lf\n",mittel_Temp);
		}
		else{
			o++;
		}
	}

/**Ende und Speicher freigeben***************/
	printf("Programm ENDE\n");
	

	free(Luftdruck);

	for(i = 0; i < Tage; i++){
		free(Temperatur[i]);
	}
	free(Temperatur);
	return(0);
}
Sunnyboy ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 06:03 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2