以下のプログラムは理論上、ユーザが追加、表示、または減算することができるリンクリストを作成する必要があります。現在、私の問題は、リンクされたリストに複数の値を印刷しようとしています。他のノードを追加するのではなく、ノードを変更するリンクされたリスト
主な問題は、私はかなりadd_node関数から来ていると思いますが、私はそれを変更することはできません。 (減算クラスオプションがありますが、関連性がないので機能を省略しました)
リンクリストに追加するには、これを変更する必要がありますか?
任意の助けを大幅にこれまでのところそれだけで次のように出力さ
#include <iostream>
#include <cstring>
struct ToDoList
{
std::string start_time;
std::string activity_name;
int time_for_activity;
ToDoList *next;
};
void add_node(ToDoList * & head, std::string start, std::string activity,int time)
{
ToDoList* temp;
head = new ToDoList;
temp = new ToDoList;
head-> start_time = start;
head-> activity_name = activity;
head-> time_for_activity = time;
head-> next = head;
head = temp;
temp = temp->next;
head->next=NULL;
}//in theory this should add another node to the list but it isn't working
int main()
{
int ans, i = 0;
std::string start;
std::string activity;
int time;
ToDoList* head;
ToDoList* a;
std::cout << "Enter the start time in HH:MM am format: ";
std::getline(std::cin, start);
std::cout << "Enter the activity name: ";
std::getline(std::cin, activity);
std::cout << "Enter the time for the activity: ";
std::cin >> time;
//~ add_node(head);
add_node(head,start,activity,time);
std::cout << "\nWelcome to the Linked list menu! What would you like to do? \n0 Add a Node \n1 Display the list \n2 Delete a node \n3 Quit \n";
std::cin >> ans;
while(ans != 3)//This should print all the values in the list
{
std::cin.ignore();
if(ans == 0)
{
std::cout << "Enter the start time in HH:MM am format: ";
std::getline(std::cin, start);
std::cout << "Enter the activity name: ";
std::getline(std::cin, activity);
std::cout << "Enter the time for the activity: ";
std::cin >> time;
add_node(head,start,activity,time);
}
else if(ans == 1)
{
a = new ToDoList;//creates new pointer for while loop
a = head;
while(a != NULL)//loop used for printing
{
std::cout << i << " " << a->start_time << " " << a->activity_name << " " << a->time_for_activity << "\n";
a = a -> next;
i++;
}
i = 0;//resets integer i
}
std::cout << "\nWelcome to the Linked list menu! What would you like to do? \n0 Add a Node \n1 Display the list \n2 Delete a node \n3 Quit \n";
std::cin >> ans;
}
return 0;
}
をいただければ幸いです。
Enter the start time in HH:MM am format: 10:00 am
Enter the activity name: Office Hours
Enter the time for the activity: 30
Welcome to the Linked list menu! What would you like to do?
0 Add a Node
1 Display the list
2 Delete a node
3 Quit
0
Enter the start time in HH:MM am format: 11:00 am
Enter the activity name: Lunch
Enter the time for the activity: 60
Welcome to the Linked list menu! What would you like to do?
0 Add a Node
1 Display the list
2 Delete a node
3 Quit
1
0 0
test
チュートリアル[here](http://pastebin.com/DXunz58Q) – sp2danny