|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
#include <stdio.h> #include <stdlib.h> typedef struct struktur{ float spg; float strom; float frequenz; float temp; }messreihe; void summe (???????); main() { printf("(1) Summe der Spannungen"); printf("(2) Summe der Stroeme"); printf("(3) Summe der Frequenz"); printf("(4) Summe der Temperaturen"); switch { case '1': summe(????) break; case '2': summe(????) break; case '3': summe(????) break; case '4': summe(????) break; } } void summe (?????) { int i=0; float sum; for (i=0; i<10; i++) { sum=sum+*????[i]; } printf("Die Summe betraegt: %.2f\n", sum); } |
bin da noch ziemlicher Anfänger
|
|
C/C++ Quellcode |
1 2 3 4 5 |
#define MAX 200 ... ... ... messreihe mess_tbl[MAX] |
|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include <iostream> using namespace std; struct xyz{ bool hallo bool tschüss}; xyz zxy; //Prototyp void beispielfunktion (int xyz); int main(){ int xyz=99; cout << "Hallo!" << endl; void beispielfunktion (xyz); } void beispielfunktion (int xyz){ if(xyz=99){ cout << "\n\aEs hat funktioniert." << endl; } else{ cout << "\n\a\aFEHLER" << endl; } } } |

|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
int summe (Messwert) { int i=0; float sum; switch(Messwert) { case 'U': for (i=0; i<10; i++) { sum=sum+stru...?[Messwert][i]; // eventuell statt Messwert hier schon eine Spalten- oder Zeilenzahl - } // hier kannst du ein paar passende Zeilen ergänzen printf("Die Summe betraegt: %.2f\n", sum[Messwert]); // Das würde ich in der aufrufenden Funktion zu Übungszwecken unterbringen return sum[Messwert]; } |


This post has been edited 2 times, last edit by "bcc-fan" (Dec 19th 2010, 5:51pm) with the following reason: Versuch den Text besser verständlich zu präsentieren ;)

|
|
C/C++ Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #include <string.h> #include <windows.h> #define N_MAX 10 typedef struct { float spg; float strom; float fq; float temp; float cos_phi; char bem[160+1]; }Einzel_Mess_Typ; void summespg (Einzel_Mess_Typ *sum_spg); void summestrom (Einzel_Mess_Typ *sum_strom); void maxspg (Einzel_Mess_Typ *max_spg); void maxstrom (Einzel_Mess_Typ *max_strom); main() { Einzel_Mess_Typ messung[N_MAX]; int i; char c1; srand(time(0)); for (i=0; i<N_MAX; i++) { messung[i].spg = (rand() %23000/100.0-115); messung[i].strom = (rand() %1600/100.0-8); messung[i].fq = (rand() %5000/100.0-25); messung[i].temp = (rand() %2000/100.0-10); messung[i].cos_phi = (rand() %100/100.0); strcpy(messung[i].bem, "Messung bei Schnnesturm"); } printf("Bitte waehlen Sie:\n\n"); printf("(1) Summe der Spannungen berechnen\n"); printf("(2) Summe der Stroeme berechnen\n"); printf("(3) Maximalwert der Spannung berechnen\n"); printf("(4) Maximalwert des Stromes berechnen\n"); c1 = getch(); switch (c1) { case '1': system("cls"); summespg (messung); break; case '2': system("cls"); summestrom (messung); break; case '3': system("cls"); maxspg (messung); break; case '4': system("cls"); maxstrom (messung); break; default: printf("Falsche eingabe."); Sleep(200); system("cls"); ; } system("PAUSE"); return 0; } void summespg (Einzel_Mess_Typ *sum_spg) { int i; float summe=0.0; for (i=0; i<N_MAX; i++) { summe = summe + sum_spg[i].spg; } printf("Summe: %.2f\n", summe); system("PAUSE"); } void summestrom (Einzel_Mess_Typ *sum_strom) { int i; float summe=0.0; for (i=0; i<N_MAX; i++) { summe = summe + sum_strom[i].strom; } printf("Summe: %.2f\n", summe); system("PAUSE"); } void maxspg (Einzel_Mess_Typ *max_spg) { int i; int index; float max=-1000.0; for (i=0; i<N_MAX; i++) { if (max_spg[i].spg > max) { max = max_spg[i].spg; index = i; } } printf("Maximum an der Stelle %d, mit einem Wert von: %.2f\n", index, max); system("PAUSE"); } void maxstrom (Einzel_Mess_Typ *max_strom) { int i; int index; float max=-1000.0; for (i=0; i<N_MAX; i++) { if (max_strom[i].strom > max) { max = max_strom[i].strom; index = i; } } printf("Maximum an der Stelle %d, mit einem Wert von: %.2f\n", index, max); system("PAUSE"); } |
|
|
Source code |
1 |
summe(*messung.spg); |
Quoted
Hi,
probier mal folgendes als Funktionsaufruf :
Quellcode
1
summe(*messung.spg);
Kanns hier leider grad nicht testen, sollte aber so oder so ähnlich funktionieren. (Bei der Syntax bin ich mir nicht ganz sicher ob mit oder ohne * bzw. ob der . stimmt)
Da du die Struktur und das Feld global definiert hast ist ein Funktionsaufruf mit dem Array als Parameter eigendlich nicht nötig. Es können ja schon alle Funktionen darauf zugreifen. Wenn du aber wills, dass nur ein bestimmter Teil in der Funktion verwendet wird sollte das helfen.
Lg Honey![]()