構造体を使ったリングバッファで「文字を追加・表示・次へ・前へ」と動くようにしたいと思って考えてはみたのですが、追加の段階で躓いてしまい困っています。どうか教えていただけないでしょうか。
c
1typedef struct node { 2 char data; 3 struct node *next; 4 struct node *prev; 5}node; 6 7int main() { 8 node *p = (node *)malloc(sizeof(node)); 9 p->next = NULL; 10 p->prev = NULL; 11 p->data = NULL; 12 node *top = p; 13 int count = 0; 14 char c; 15 while (true) { 16 printf("機能番号を入力してください"); 17 printf("(1:追加 2:表示 3:前へ 4:次へ)\n"); 18 fflush(0); 19 int i; 20 scanf_s("%d", &i); 21 switch (i) { 22 case 1: 23 printf("文字を入力してください\n"); 24 scanf_s("%s",&c); 25 if (count == 0) { 26 p->data = c; 27 } 28 else { 29 p->next = (node *)malloc(sizeof(node)); 30 p = p->next; 31 p->prev = top; 32 p->data = c; 33 } 34 ++count; 35 case 2: 36 for (int list = 0;list < c;list++) { 37 printf("%s\n",p->data); 38 p = p->next; 39 } 40 p = p->next; 41 break; 42 case 3: 43 break; 44 case 4: 45 break; 46 } 47 } 48 return 0; 49} 50
回答2件
あなたの回答
tips
プレビュー