2 / 2 / 0
Регистрация: 15.12.2019
Сообщений: 61
1

Ошибка программы "warning C4700: uninitialized local variable 'number' used"

05.05.2020, 22:09. Показов 2227. Ответов 5

Помогите пожалуйста!
Написал код, но появляется ошибка, не пойму в чем дело. Гуглил, но так и не понял что к чему.
Объясните, что тут не так и как должно быть.
Заранее благодарен.
1>c:\proects c++\1234567\1234567\1234567.cp p(35): warning C4700: uninitialized local variable 'number' used
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>1234567.obj : error LNK2019: unresolved external symbol "void __cdecl input_sved(struct stud)" (?input_sved@@YAXUstud@@@Z) referenced in function _main
1>C:\Proects C++\1234567\Debug\1234567.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
C++
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct stud
{
    int b1, b2, b3;
    char surname[10];
    char name[10];
    char otch[10];
} s;
 
void rezultat(int, int);
int summa_ballov(stud);
void input_sved(stud);  
 
int main()
{
    setlocale(LC_ALL, "rus");
    struct stud *ps;
    ps = &s;
    int PBall, number;
    cout << "Введите проходной балл на специальность: ";
    cin >> PBall;
    cout << "Введите кол-во абитуриентов: ";
    cin >> number;
    input_sved(*ps);
    rezultat(summa_ballov(s), PBall);
    return 0;
}
 
void input_sved (stud *s)
{
    int number;
    for(int i=1; i <= number; i++)
    {
        cout << "Сведения о " << i << " абитуриенте" << endl;
        cout << "Фамилия: "; cin >> s->surname;
        cout << "Имя: "; cin >> s->name;
        cout << "Отчество: "; cin >> s->otch;
        cout << "Число баллов по 1 предмету: "; cin >> s->b1;
        cout << "Число баллов по 2 предмету: "; cin >> s->b2;
        cout << "Число баллов по 3 предмету: "; cin >> s->b3;
    }
}
int summa_ballov(stud ball)
{
    return ball.b1+ball.b2+ball.b3;
}
 
void rezultat(int sum, int PBall)
{
    cout << "Результат: ";
    if(sum>=PBall)
    {
        cout << "Зачислен"<<endl;
    }
    else
        cout << "Не зачислен" << endl;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2020, 22:09
Ответы с готовыми решениями:

Ошибка C4700: uninitialized local variable used
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt; using namespace std; int main() {...

Инициализация в с++. Предупреждение C4700: uninitialized local variable 'name' used
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class EX {...

Ошибка С4700 uninitialized local variable e used
csc

Ошибка связанная с буфером C4700 local variable "buff" used
#include &quot;Header.h&quot; #pragma comment (lib, &quot;User32.lib&quot;) int main() { setlocale(LC_ALL,...

5
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
05.05.2020, 22:20 2
И что не ясно? Не задано значение number в 34.
0
Модератор
Эксперт С++
12074 / 9756 / 5900
Регистрация: 18.12.2011
Сообщений: 26,193
05.05.2020, 22:23 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void input_sved (stud *s, int number)
{
    for(int i=0; i < number; i++)
    {
        cout << "Сведения о " << i << " абитуриенте" << endl;
        cout << "Фамилия: "; cin >> s[i].surname;
        cout << "Имя: "; cin >> s[i].name;
        cout << "Отчество: "; cin >> s[i].otch;
        cout << "Число баллов по 1 предмету: "; cin >> s[i].b1;
        cout << "Число баллов по 2 предмету: "; cin >> s[i].b2;
        cout << "Число баллов по 3 предмету: "; cin >> s[i].b3;
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    setlocale(LC_ALL, "rus");
    int PBall, number;
    cout << "Введите проходной балл на специальность: ";
    cin >> PBall;
    cout << "Введите кол-во абитуриентов: ";
    cin >> number;
    stud* ps=new stud[number];
    input_sved(ps,number);
...
    delete[] ps;
Дальше постарайтесь додумать сами.
С учетом того, что ps - это массив.
1
2 / 2 / 0
Регистрация: 15.12.2019
Сообщений: 61
06.05.2020, 23:54  [ТС] 4
Все равно чего то у меня не получается
c:\proects c++\7654456543\7654456543\7654 456543.cpp(26): error C2664: 'input_sved' : cannot convert parameter 1 from 'stud *' to 'stud'
1> No constructor could take the source type, or constructor overload resolution was ambiguous
Получается он не может конвертировать указатель на структуру в структуру и надо в параметре добавить звездочку. Но когда ее добавляешь снова эта ошибка
error LNK2019: unresolved external symbol "void __cdecl input_sved(struct stud,int)" (?input_sved@@YAXUstud@@H@Z) referenced in function _main
1>C:\Proects C++\7654456543\Debug\765445654 3.exe : fatal error LNK1120: 1 unresolved externals
Не пойму никак что он хочет от меня
C++
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct stud
{
    int b1, b2, b3;
    char surname[10];
    char name[10];
    char otch[10];
} s;
 
void rezultat(int, int);
int summa_ballov(stud);
void input_sved(stud, int);  
 
int main()
{
    setlocale(LC_ALL, "rus");
    int PBall, number;
    cout << "Введите проходной балл на специальность: ";
    cin >> PBall;
    cout << "Введите кол-во абитуриентов: ";
    cin >> number;
    stud *ps=new stud[number];
    input_sved(*ps,number);
    rezultat(summa_ballov(s), PBall);
    delete[] ps;
    return 0;
}
 
void input_sved (stud *s, int number)
{
    for(int i=1; i <= number; i++)
    {
        cout << "Сведения о " << i << " абитуриенте" << endl;
        cout << "Фамилия: "; cin >> s[i].surname;
        cout << "Имя: "; cin >> s[i].name;
        cout << "Отчество: "; cin >> s[i].otch;
        cout << "Число баллов по 1 предмету: "; cin >> s[i].b1;
        cout << "Число баллов по 2 предмету: "; cin >> s[i].b2;
        cout << "Число баллов по 3 предмету: "; cin >> s[i].b3;
    }
}
 
int summa_ballov(stud ball)
{
    return ball.b1+ball.b2+ball.b3;
}
 
void rezultat(int sum, int PBall)
{
    cout << "Результат: ";
    if(sum>=PBall)
    {
        cout << "Зачислен"<<endl;
    }
    else
        cout << "Не зачислен" << endl;
}
0
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
07.05.2020, 00:07 5
Лучший ответ Сообщение было отмечено ErritoQN как решение

Решение

Прототипы не совпадают. Перенеси функции наверх, если путаешься.
1
2 / 2 / 0
Регистрация: 15.12.2019
Сообщений: 61
07.05.2020, 20:49  [ТС] 6
Спасибо, все получилось!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2020, 20:49
Помогаю со студенческими работами здесь

Как правильно считать из файла? Ошибка "Uninitialized local variable 'fr'"
Тринадцатая визуалка ругается на считывание с файла #include &quot;head.h&quot; #include &lt;conio.h&gt;...

[Warning] Unit1.pas(132): For loop control variable must be simple local variable
Помогите пожалуйста! что я не так делаю? ошибки: Unit1.pas(174): For loop control variable must...

Warning: For loop control variable must be simple local variable
Реализация метода ДП - программирования для задачи о рюкзаке выдает ошибку Project1.dpr(16): For...

Не могу понять в чем дело,выдает ошибку [Warning] Unit1.pas(90): For loop control variable must be simple local variable
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Инициализация переменной, "uninitialized local variable 'obj' used..."
Помогите, пожалуйста, с решением такой проблемы: я хочу вызывать в обычной функции функцию от...

"potentially uninitialized local pointer variable 'ptr1' used"
int Tree&lt;NODETYPE&gt;::insert_node(const NODETYPE &amp;x) { TreeNode&lt;NODETYPE&gt;* n = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru