Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Niko4ay
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 3
#1

Лабораторные работы - C++

25.06.2017, 11:15. Просмотров 332. Ответов 4
Метки нет (Все метки)

Добрый день !Делаю лабораторные работы помогите разобраться с ними,что не так.Вот код первой работы:
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
61
62
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
#include <windows.h>
 
    struct computers
    { char  name [15];
      char  type_proc [15];
      char  type_disp [15];
      int numb_disc;
      int v_memory;
     } mycomputer[20];
int i;
 
void input (computers *pointer = new computers)
    
 { 
 SetConsoleCP(1251); 
 SetConsoleOutputCP(1251);
 printf("%d-й компьютер\n",i+1);
 puts(" Название компьютера");
 scanf("%s",*pointer[i].name);
 puts("\nТип процессора: ");
 scanf("%s",*pointer[i].type_proc);
 puts("\nОбъем памяти: ");
 scanf("%d",&pointer[i].v_memory);
 puts("\nТип дисплея: ");
 scanf("%s",*pointer[i].type_disp);
 puts("\nКоличество дисководов: ");
 scanf("%d",&pointer[i].numb_disc);
 }
 
void output (computers *pointer = new computers)
 
{  printf("\n %d |   %-14s|   %-14s|  %-6d|   %-14s|  %-6d|",i+1,
 *pointer[i].name,
 *pointer[i].type_proc,
  pointer[i].v_memory,
 *pointer[i].type_disp,
  pointer[i].numb_disc);
 }
 
int main()
  { 
  SetConsoleCP(1251); 
  SetConsoleOutputCP(1251);
  system("cls");
  computers *pointer = new computers;
  int i=0, kol_vo;
printf ("Сколько записей будете вводить?  ");
scanf ("%d",&kol_vo);
for (i=1;i<=kol_vo;i++)
{input (pointer+i); }
system("cls");
    puts("\nВы ввели следующую информацию о компьютерах: ");
    puts("============================================================================");
       for (i=1;i<=kol_vo;i++)
  {   output (pointer+i); }
    puts("\n============================================================================");
    getch();
    }
при компиляции программа запускается,но при вводе данных выбивает Нарушение прав доступа при записи

Есть еще
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include <io.h>
#include <fcntl.h>
#include <sys\stat.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
 
int main()
{
 SetConsoleCP(1251); 
 SetConsoleOutputCP(1251);
 system("cls");
 int i;
 double k,m,n;
 char sf[]="f.txt",sg[]="g.txt";
 FILE *f,*g;
 if ((f=fopen(sf, "w+"))==NULL)
 
 printf("\nОшибка создания файла f");
 else
 {
  printf("\nВведите 10 элементов для файла f :\n");
  //for(i=0;i<10;++i)
  {
    scanf("%i",&n);
    fwrite(&n,sizeof(n),1,f);
  }
 }
 fclose(f);
 printf("\nСодержимое файла g :\n");
 f=fopen(sf,"r+");
 if ((g=fopen(sg,"w+"))==NULL)
  printf("\nОшибка при создании файла  g");
 else{
       while (!feof(f))
   for(i=0;i<10;++i)
   {
     fread(&n,sizeof(n),1,f);
     m=sqrt(n);
     if ((m*m)==n)
      {
    fwrite(&n,sizeof(n),1,g);
    printf("%i ",n);
     }
   }
 }
 fclose(f);fclose(g);
 
 
int deskriptor;
char msg[] = "Hello!.";
char ch;
 
deskriptor= open("ALKA.TXT",
          O_CREAT | O_RDWR,
          S_IREAD | S_IWRITE);
printf("\n\n");
write(deskriptor, msg, strlen(msg));
 
 
lseek(deskriptor, 0L, SEEK_SET);
 
do
{
   read(deskriptor, &ch, 1);
   printf("%c", ch);
}
 while (!eof(deskriptor));
close(deskriptor);
 
 
 getch();
}
здесь программа запускается и все.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2017, 11:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Лабораторные работы (C++):

Лабораторные работы по C++
могли бы сделать? {Deleted} задание 1 и 2 вариант 9 {Deleted} задание 1 и 2...

Лабораторные работы
Всем доброго времени суток. Скажите пожалуйста, есть ли у кого-то готовое...

Лабораторные работы по информатике.
Добрый вечер. помогите пожалуйста решить... я в С++ ничего не понимаю... а...

Лабораторные работы :scratch:
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int main() { ...

Немного непонятен алгоритм (в списке класса, состоящем из n строк и m столбцов, отмечаются выполненные лабораторные работы)
вот условие задачи: В списке класса, состоящем из n строк и m столбцов,...

Лабораторные на С
Прошу вас помогите. У меня 10 л.р. и из них я смогла сделать только 4 штуки!...

4
GeFacle
Рэмбо комнатный
95 / 95 / 99
Регистрация: 05.03.2017
Сообщений: 505
Завершенные тесты: 4
25.06.2017, 11:47 #2
C++
1
computers *pointer = new computers
что это за параметр такой в функциях?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 { 
 SetConsoleCP(1251); 
 SetConsoleOutputCP(1251);
 printf("%d-й компьютер\n",i+1);
 puts(" Название компьютера");
 scanf("%s",*pointer[i].name);
 puts("\nТип процессора: ");
 scanf("%s",*pointer[i].type_proc);
 puts("\nОбъем памяти: ");
 scanf("%d",&pointer[i].v_memory);
 puts("\nТип дисплея: ");
 scanf("%s",*pointer[i].type_disp);
 puts("\nКоличество дисководов: ");
 scanf("%d",&pointer[i].numb_disc);
 }
цикла нету, а переменная есть
C++
1
computers *pointer = new computers;
здесь происходит выделение памяти только под 1 элемент, а я думаю, что тебе надо массив этих элементов

Добавлено через 4 минуты
кароче это ужас, я шокирован D:
0
Niko4ay
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 3
25.06.2017, 11:51  [ТС] #3
Я ж только учусь,подсскажите как должно быть правильно

Вот убрал,теперь так
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
 struct computers
    { char  name [15];
      char  type_proc [15];
      char  type_disp [15];
      int numb_disc;
      int v_memory;
     } mycomputer[20];
int i;
 
void input (computers *pointer )
    
 { 
 SetConsoleCP(1251); 
 SetConsoleOutputCP(1251);
 printf("%d-й компьютер\n",i+1);
 puts(" Название компьютера");
 scanf("%s",*pointer[i].name);
 puts("\nТип процессора: ");
 scanf("%s",*pointer[i].type_proc);
 puts("\nОбъем памяти: ");
 scanf("%d",&pointer[i].v_memory);
 puts("\nТип дисплея: ");
 scanf("%s",*pointer[i].type_disp);
 puts("\nКоличество дисководов: ");
 scanf("%d",&pointer[i].numb_disc);
 }
 
void output (computers *pointer )
 
{  printf("\n %d |   %-14s|   %-14s|  %-6d|   %-14s|  %-6d|",i+1,
 *pointer[i].name,
 *pointer[i].type_proc,
  pointer[i].v_memory,
 *pointer[i].type_disp,
  pointer[i].numb_disc);
 }
 
int main()
  { 
  SetConsoleCP(1251); 
  SetConsoleOutputCP(1251);
  system("cls");
  computers *pointer;
  int i=0, kol_vo;
printf ("Сколько записей будете вводить?  ");
scanf ("%d",&kol_vo);
for (i=1;i<=kol_vo;i++)
{input (pointer+i); }
system("cls");
    puts("\nВы ввели следующую информацию о компьютерах: ");
    puts("============================================================================");
       for (i=1;i<=kol_vo;i++)
  {   //output (pointer+i); }
    puts("\n============================================================================");
    getch();
    }
}
0
GeFacle
Рэмбо комнатный
95 / 95 / 99
Регистрация: 05.03.2017
Сообщений: 505
Завершенные тесты: 4
25.06.2017, 12:11 #4
Niko4ay, вам массив этой структуры надо?

Добавлено через 27 секунд
если да, то киньте задание, я покажу, что и как надо

Добавлено через 16 минут
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
#include <iostream>
#include <string>
 
using namespace std;
 
struct computer
{
    string name;
    string processor;
    string display;
    int countofdisk;
    int ozu;
};
 
void Init(computer *arr, int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << "Input name: ";
        cin >> arr[i].name; cin.ignore();
        cout << "Input processor: ";
        getline(cin, arr[i].processor); 
        cout << "Input display type: ";
        getline(cin, arr[i].display); 
        cout << "Input OZU memory: ";
        cin >> arr[i].ozu; cin.ignore();
        cout << "Input count of disk: ";
        cin >> arr[i].countofdisk; cin.ignore();
    }
}
 
void Print(computer *arr, int n)
{
    cout << "Basket: " << endl;
    for (int i = 0; i < n; i++)
    {
        cout << arr[i].name << "|";
        cout << arr[i].processor << "|";
        cout << arr[i].display << "|";
        cout << arr[i].ozu << "|";
        cout << arr[i].countofdisk << "|";
        cout << endl;
    }
    cout << endl;
}
 
 
int main()
{
    int n; cin >> n;
    computer *arr = new computer[n];
    Init(arr, n);
    Print(arr, n);
    delete[] arr;
    system("pause");
    return 0;
}
вот программа, где я создаю динамический массив из n элементов этой структуры, заполняю и вывожу с помощью функций
0
Niko4ay
0 / 0 / 0
Регистрация: 25.06.2017
Сообщений: 3
25.06.2017, 12:14  [ТС] #5
Вот задания
1)Составить программу использующую вызовы функций с помощью указателей.
2)Составить программу для записи данных структурного типа в файл. Ввод информации осуществлять с использованием функций высокого уровня, вывод информации осуществлять с использованием функций низкого уровня
3)Составить проект для многофайловой структуры программы. Разработать заголовочный файл содержащий глобальные данные и объявления внешних функций. Разработать вспомогательный файл содержащий определения внешних функций и объявления и переопределения данных.
4)Составить программу для объявления и использования данных типа класс
Мне на завтра надо эти работы сдать,помогите пож-та.
0
25.06.2017, 12:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2017, 12:14
Привет! Вот еще темы с решениями:

Лабораторные.
Очень нужна помощь помощь.Иначе могут отчислить.Пожалуйста кто чем может))

Лабораторные по с++. 7 штук
Всем привет. Кто может помочь с лабами по с++, ответьте в этой теме свои...

Лабораторные по СПО
Если есть возможность помочь мне, в написании данных программ, пожалуйста прошу...

Лабораторные С++ borland
1. Вычислите значения логических выражений: a) X*X + Y*Y = 9 при X = 1, Y =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru