質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.42%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

3148閲覧

C言語のエラー修正について

goooooooma

総合スコア7

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2017/05/25 02:28

編集2017/05/25 03:24

C

1コード 2#include <stdio.h> 3#define New (element) RealNew( & element ) 4#define InputInt( number ) RealInputInt( & number ) 5 6void RealNew(int* person) 7{ 8 *person = (int*)malloc( 9 10 sizeof( 11 12 struct { 13 14 char name[20]; 15long year; 16void* next; 17 } 18 ) 19 ); 20} 21 22void InputString(name ) 23{ 24 printf("Input Name : "); 25 scanf("%s", name); 26} 27void RealInputInt(long* year) 28{ 29 printf("Input Year : "); 30 scanf("%ld", year); 31} 32 33---------------------------------------------------------------------------------------------------------------- 34 35 36#include "pseudo97.h" 37typedef struct PERSON* PtrPERSON; 38 39struct PERSON 40{ 41 char name[20]; 42 long year; 43 PtrPERSON next; 44}; 45 46 47int MakeLinkedList(PtrPERSON head) 48{ 49 50 PtrPERSON girl; 51 52 // 一度目の入力 53 New(girl); 54 InputString(girl->name); 55 InputInt(girl->year); 56 57 while (girl->year > 0) 58 { 59 60 // girlの次のポインタにheadの次のポインタ 61 girl->next = head->next; 62 63 // headの次のポインタにgirlを設定 64 head->next = girl; 65 66 // 複数度目の入力 67 New(girl); 68 InputString(girl->name); 69 InputInt(girl->year); 70 } 71 72 return 0; 73} 74 75 76 77int WriteLinkedList(PtrPERSON head) 78{ 79 PtrPERSON girl = head->next; 80 81 while (girl != NULL) 82 { 83 printf("name: %s, year: %ld¥n", girl->name, girl->year); 84 girl = girl->next; 85 } 86 87 return 0; 88} 89 90 91int main(void) 92{ 93 PtrPERSON head; 94 95 // headを初期化 96 New(head); 97 head->next = NULL; 98 99 // PERSONリストを作成 100 MakeLinkedList(head); 101 102 // 出力 103 WriteLinkedList(head); 104 105 return 0; 106} 107```###前提・実現したいこと 108C言語初心者です。このコードでエラーがかなり出ているのですが、どうなおしていいのかわからなかったため、教えていただけると幸いです。 109特に{}、()ですが、これで間違っている理由が理解できません。 110###発生している問題・エラーメッセージ 111 112重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 113エラー C2062 型 'char' は不要です。 Project2 12 114エラー C2143 構文エラー: ')'';' の前にありません。 Project2 12 115エラー C2059 構文エラー: ')' Project2 16 116エラー C2059 構文エラー: ')' Project2 17 117エラー C2059 構文エラー: '}' Project2 18 118エラー C2143 構文エラー: ';''}' の前にありません。 Project2 18 119エラー C2143 構文エラー: ';''{' の前にありません。 Project2 21 120エラー C2447 '{': 対応する関数ヘッダーがありません (旧形式の仮引数リスト?) Project2 21 121エラー C1083 include ファイルを開けません。'pseudo97.h':No such file or directory Project2 34 122 123 124 125 126 127###該当のソースコード 128上記の通りです。 129 130###試したこと 131 132###補足情報(言語/FW/ツール等のバージョンなど) 133C言語、環境はvisual studio2015

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/25 02:33

</>ボタンを押すと```ここに言語を入力と出るので、cと記入してコードと書かれた所にソースを書きましょう
goooooooma

2017/05/25 02:51

メッセージありがとうございます。直したいのですが、</>ボタンとはどこにあるのでしょうか・・・?
退会済みユーザー

退会済みユーザー

2017/05/25 02:54

質問と回答でちょっと違うみたいですね。質問の場合は編集画面に<code>ボタンありませんか?
goooooooma

2017/05/25 02:59

これで大丈夫でしょうか?教えていただきありがとうございます。
guest

回答2

0

エラー番号がCS****となっているのですが、間違えて**C#**のコンパイラを使っていませんか?

C#はC言語と似た文法ではありますが、全く互換性のない別言語です。

投稿2017/05/25 02:32

maisumakun

総合スコア145504

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goooooooma

2017/05/25 02:53

メッセージありがとうございます! これはC#の環境になっているんですね・・・教えていただきありがとうございます。 訂正しますので、またエラー発生次第お答えいただけると幸いです。
guest

0

ベストアンサー

内容はわかりませんが、コンパイルが通るようにしました。
厳しいコンパイラみたいですね。

#include <stdio.h> #include <string.h> #include <stdlib.h> #define New( element ) RealNew( & element ) #define InputInt( number ) RealInputInt( & number ) typedef struct PERSON* PtrPERSON; struct PERSON { char name[20]; long year; PtrPERSON next; }; int RealNew(PtrPERSON* person) { *person = (PtrPERSON)malloc( sizeof( struct PERSON ) ); return 0; } int InputString(char *name ) { printf( "Input Name : " ); scanf( "%s", name ); return 0; } int RealInputInt( long *year ) { printf( "Input Year : " ); scanf( "%ld", year ); return 0; } int MakeLinkedList(PtrPERSON head) { PtrPERSON girl; // 一度目の入力 New(girl); InputString(girl->name); InputInt(girl->year); while (girl->year > 0) { // girlの次のポインタにheadの次のポインタ girl->next = head->next; // headの次のポインタにgirlを設定 head->next = girl; // 複数度目の入力 New(girl); InputString(girl->name); InputInt(girl->year); } return 0; } int WriteLinkedList(PtrPERSON head) { PtrPERSON girl = head->next; while (girl != NULL) { printf("name: %s, year: %ld\n", girl->name, girl->year); girl = girl->next; } return 0; } int main(void) { PtrPERSON head; // headを初期化 New(head); head->next = NULL; // PERSONリストを作成 MakeLinkedList(head); // 出力 WriteLinkedList(head); return 0; }

投稿2017/05/25 03:53

編集2017/05/25 04:45
A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goooooooma

2017/05/25 03:58

メッセージありがとうございます。 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー C2143 構文エラー: ';' が '}' の前にありません。 Project2 90 エラー C2065 'name': 定義されていない識別子です。 Project2 21 エラー C2182 'InputString': 'void' 型が不適切に使用されています。 Project2 21 エラー C2448 'InputString': 関数の定義が間違っています。 Project2 22 エラー C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Project2 30 エラー C2064 1 引数を取り込む関数には評価されません。 Project2 41 エラー C2064 1 引数を取り込む関数には評価されません。 Project2 55 エラー C2059 構文エラー: '}' Project2 90 のエラーが出ているのですがここはどう修正したらよろしいのでしょうか。 質問つづきで大変申し訳ございません。
goooooooma

2017/05/25 06:10

ありがとうございました!! 無事なんとかできました! 回答、メッセージくださった方、ご協力いただき本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.42%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問