ist dies die erste Struktur und enthält erstes Mitgliedzuweisen 2 string :: Array in 2 verschiedenen eine Struktur
#include <iostream>
#include <algorithm>
#include <cstring>
struct Student_Data {
string Assignment[200];
};
dies ist die zweite Struktur und enthält ein Mitglied
struct Courseassign {
string createassig[200];
};
//here is declare function
Doc(Student_Data ,Courseassign);
//the main function to declare 2 structures and call the Doc() function
int main()
{
Courseassign phase1 ; // declare 1st struct
Student_Data Student_Details ; // declare 1st struct
Doc( phase1 , Student_Details); // Call Doc() function to run it
}
hier unsere Funktion Um die Mission zu machen, habe ich versucht, copy() zu benutzen, aber es funktionierte nicht und ich weiß, dass cpy char nicht string sein sollte, also möchte ich einfach member gleich einem anderen member in einer anderen struct machen, während String Array
void Doc(Courseassign phase1, Student_Data Student_Details)
{
for(int i=0;i<200;i++) {
cout<< "create assign " << endl ;
cin >> phase1.createassig[i] ; // here to enter member value
// here it's just a try to make them equal each other but it failed
Student_Details.Assignment[i] = phase1.createassig[i];
// here it should be Array of char but i need to Array of strings so what should i use
cpy(Student_Details.Assignment[i],phase1.createassig[i]);
}
}
Sie sollten wirklich Ihre Code-Blöcke aufräumen. Es ist nicht sehr lesbar, und Sie haben Kommentare, die dort nicht kommentiert sind. Bitte lesen Sie [die MCVE-Sektion] (https://stackoverflow.com/help/mcve), da es schwierig ist, zu helfen, wenn ich Ihren Code nicht kompilieren und ausführen kann. Ich bin mir auch nicht sicher, was schief läuft, weil du uns nicht gesagt hast, was nicht funktioniert. Kompilieren, aber nicht richtig? Erhalten Sie einen Kompilierungsfehler? Ein offensichtliches Problem, das ich sehen kann, ist, dass Sie 'phase1' und' Student_Details' nach Wert, nicht nach Verweis übergeben, so dass sie kopiert werden; Sie können die Originale nicht von innen ändern. – Taywee
@Taywee der Code ist okey und es läuft, aber die Funktion, um Mitglieder gleich zueinander zu machen, funktioniert es nicht, nach dem Einfügen von phase1.createassig [i] möchte ich nur Student_Details.Assignment [i] gleich der Wert, der in Zusammenfassung eingefügt: die Frage ist, wie (wie Push-Werte in der anderen) String-Array-Werte zu einer anderen Zeichenfolge zuweisen Array –
Verwenden Sie keine Arrays, verwenden Sie std :: vector. –